// 引入核心工具gulp，声明一个gulp，用来代替引入的gulp核心(在cmd中已经用npm或者cnpm下载了，检查是否下载成功时用 gulp -v 查看版本号)。
var gulp=require('gulp');

// 引入压缩css依赖文件，然后到cmd下载这个依赖文件，下载成功时在package.json中有记录。
// 下载gulp-minify-css依赖文件，cnpm  i gulp-minify-css --save-dev
var gulp_minify_css=require("gulp-minify-css");

// 通过require引进来的属于CMD规范
var gulp_sass=require("gulp-sass");
// 编译sass
gulp.task("sass",function(){
    gulp.src("src/scss/*.scss")
        .pipe(gulp_sass())
        .pipe(gulp.dest("dist/scss"));
});

// 定义一个任务，用来压缩css文件
// 自动添加css属性的前缀
// cnpm i gulp-autoprefixer --save-dev
var gulp_autoprefixer=require("gulp-autoprefixer");
gulp.task("minifycss",function(){
    // 文件的源头
    gulp.src(["src/css/*.css","!src/css/bootstrap.css","!src/css/bootstrap.min.css"])
        .pipe(gulp_autoprefixer({
            browsers:['last 2 versions','Android >= 4.0','ios 7','last 3 safari versions'],
            remove:true,
            cascade: true
        }))
        .pipe(gulp_minify_css())// 需要被压缩的文件经过这个压缩依赖
        .pipe(gulp.dest("dist/css"));//文件压缩后输出的位置
        // 链式操作
})

// es6语法转为es5，压缩js
var babel=require("gulp-babel");
var gulp_uglify=require("gulp-uglify");
gulp.task("javascript",function(){
    gulp.src(["src/js/*.js","!src/js/wow.js"])
        .pipe(babel({
            presets:['env']
        }))
        .pipe(gulp_uglify())
        .pipe(gulp.dest("dist/js"))
})

// 复制html文件
gulp.task("copyHtml",function(){
    gulp.src("src/*.html")
        .pipe(gulp.dest("dist/"));
})
//复制css,js文件
gulp.task("copyCss",function(){
    gulp.src(["src/css/bootstrap.css","src/css/bootstrap.min.css"])
        .pipe(gulp.dest("dist/css"));
})
gulp.task("copyJs",function(){
    gulp.src(["src/js/bootstrap.js","src/js/bootstrap.min.js","src/js/wow.js","src/js/jquery-2.1.0.js"])
        .pipe(gulp.dest("dist/js"));
})


// tinypng压缩图片 cnpm install gulp-tinypng --save-dev
var gulp_tinypng=require("gulp-tinypng");
gulp.task("minifyimg",function(){
    gulp.src("src/images/*.*")
        .pipe(gulp_tinypng("s7XAma9jZvBwBRutfxhNe4VsHDaYEkSW"))
        .pipe(gulp.dest("dist/images"))
})
//压缩图片 
var gulp_imagemin=require("gulp-imagemin");
gulp.task("img",function(){
    gulp.src("src/images/*.*")
        .pipe(gulp_imagemin())
        .pipe(gulp.dest("dist/images"))
})
// // 复制静态资源文件
// var gulp_copy=require("gulp-copy");
// gulp.task("copy",function(){
//     gulp.src("src/media/**/*.*")
//         .pipe(gulp_copy("dist/media",{prefix:"2"}))
// })
// var gulp_copy=require("gulp-copy");
// gulp.task("copy",function(){
// 	gulp.src("src/**/*.*")
// 		.pipe(gulp_copy("dist/",{prefix:'1'}))
// })

// 一键压缩css、js
gulp.task("pro",["minifycss","copyHtml","copyCss","copyJs","sass"])